#ifndef SOLOADER_PATCH_SDL_H
#define SOLOADER_PATCH_SDL_H

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_mixer.h>
#include <SDL2/SDL_ttf.h>

SDL_Window *SDL_CreateWindow_soloader(const char *title, int x, int y, int w, int h, Uint32 flags);
SDL_Renderer *SDL_CreateRenderer_soloader(SDL_Window *window, int index, Uint32 flags);
void SDL_RenderPresent_soloader(SDL_Renderer *renderer);
int SDL_RenderCopy_soloader(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_Rect *dstrect);
int SDL_UpperBlit_soloader(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);
int SDL_UpperBlitScaled_soloader(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);
int SDL_UpdateTexture_soloader(SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch);
SDL_Texture *SDL_CreateTextureFromSurface_soloader(SDL_Renderer *renderer, SDL_Surface *surface);
void SDL_FreeSurface_soloader(SDL_Surface *surface);
int SDL_PollEvent_soloader(SDL_Event *event);

SDL_RWops *Get_RWops(const char *filePath);

int initPatchSdl();

#endif